<template>
  <div>
    <div class="container-body w">
      <div class="card-container">
        <Row :gutter="16">
          <Col span="24">
            <Card style="width:100%;margin-top:20px">
              <!-- 职位图片 -->
              <div class="upload-container">
                <div class="demo-upload-list" v-for="item in uploadList">
                  <template v-if="item.status === 'finished'">
                    <img :src="item.url" />
                    <div class="demo-upload-list-cover">
                      <Icon type="ios-eye-outline" @click.native="handleView(item.name)"></Icon>
                      <Icon type="ios-trash-outline" @click.native="handleRemove(item)"></Icon>
                    </div>
                  </template>
                  <template v-else>
                    <Progress v-if="item.showProgress" :percent="item.percentage" hide-info></Progress>
                  </template>
                </div>
                <Upload
                  ref="upload"
                  :show-upload-list="false"
                  :default-file-list="defaultList"
                  :on-success="handleSuccess"
                  :format="['jpg','jpeg','png']"
                  :max-size="2048"
                  :on-format-error="handleFormatError"
                  :on-exceeded-size="handleMaxSize"
                  :before-upload="handleBeforeUpload"
                  multiple
                  type="drag"
                  :action="upimgurl"
                  style="display: inline-block;width:58px;"
                >
                  <div style="width: 58px;height:58px;line-height: 58px;">
                    <Icon type="ios-camera" size="20"></Icon>
                  </div>
                </Upload>
                <div class="up-text">上传身份证</div>
              </div>
              <!-- 表单 -->
              <div class>
                <Form
                  ref="formValidate"
                  :model="formValidate"
                  :rules="ruleValidate"
                  :label-width="80"
                >
                  <FormItem label="姓名" prop="name">
                    <Input v-model="formValidate.name" placeholder="输入姓名"></Input>
                  </FormItem>
                  <FormItem>
                    <Button type="primary" @click="handleSubmit('formValidate')">提交</Button>
                    <Button @click="handleReset('formValidate')" style="margin-left: 8px">重置</Button>
                  </FormItem>
                </Form>
              </div>
            </Card>
          </Col>
        </Row>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      upimgurl: this.$http.apiurl("upimg"),
      dbase: [],
      uid: "",
      telnums: "",
      idimg: "",

      defaultList: [],
      imgName: "",
      visible: false,
      uploadList: [],

      formValidate: {
        name: ""
      },
      ruleValidate: {}
    };
  },
  created() {
    console.log(JSON.parse(localStorage.getItem("user_info")));
    if (!localStorage.getItem("user_info")) {
      console.log(localStorage.getItem("user_info"));
      that.$Message.error("未登陆,请登陆!");
      that.$router.push({ name: "login", query: {} });
    } else {
      that.uid = JSON.parse(localStorage.getItem("user_info")).id;
      that.telnums = JSON.parse(localStorage.getItem("user_info")).telnum;
    }
  },
  methods: {
    handleSubmit(name) {
      var full = this.formValidate;
      full.uid = this.uid;
      full.tel = this.telnums;
      full.idimg = this.idimg;
      console.log(full);
      this.$http.aget("authuser", full).then(res => {
        console.log(res);
        if (res > 0) {
          this.$Message.success("提交成功!");
        }
      });
    },

    handleView(name) {
      this.imgName = name;
      this.visible = true;
    },
    handleRemove(file) {
      const fileList = this.$refs.upload.fileList;
      this.$refs.upload.fileList.splice(fileList.indexOf(file), 1);
    },
    handleSuccess(res, file) {
      console.log(file);
      file.url = res;
      file.name = "";

      this.idimg = res;
    },
    handleFormatError(file) {
      this.$Notice.warning({
        title: "文件格式不正确",
        desc:
          "文件名为 " + file.name + " 的文件格式不正确,请上传jpg 或 png的格式"
      });
    },
    handleMaxSize(file) {
      this.$Notice.warning({
        title: "文件大小超出限制",
        desc: "文件名为  " + file.name + " 过大, 请不要超过5M."
      });
    },
    handleBeforeUpload() {
      const check = this.uploadList.length < 1;
      if (!check) {
        this.$Notice.warning({
          title: "最多上传1张照片."
        });
      }
      return check;
    }
  },
  mounted() {
    this.uploadList = this.$refs.upload.fileList;
  }
};
</script>
<style lang="scss" >
body {
  background-color: #f1f1f1;
}

.upload-container {
  width: 100%;
  padding: 20px 0 20px 80px;
}
.demo-upload-list {
  display: inline-block;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  border: 1px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  margin-right: 4px;
}

.demo-upload-list img {
  width: 100%;
  height: 100%;
}

.demo-upload-list-cover {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
}

.demo-upload-list:hover .demo-upload-list-cover {
  display: block;
}

.demo-upload-list-cover i {
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  margin: 0 2px;
}
</style>
